package com.example.personalaccount.service;

import com.example.personalaccount.dto.ClauseDto;
import com.example.personalaccount.entity.Clause;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

public interface ClauseService {

    Clause getClause(String id);

    List<Clause> getClauseByAccountId(String id);

    List<Clause> getClauseByDate(LocalDate dateTime);

    List<Clause> getClauseByFlag(boolean flag);

    List<Clause> getClauseByFunc(String func) ;

    Clause create(ClauseDto clauseDto);

    Clause update(ClauseDto clauseDto);

    Clause delete(String id);

    List<Clause> getClauseByYear(int year , boolean flag);

    List<Clause> getClauseByDay(int date , boolean flag);

    List<Clause> getClauseByMonth(int month , boolean flag);

    List<Clause> getClauseByRange(  LocalDateTime startTime , LocalDateTime endTime);
}
